package com.isdepci.project.carbon.domain;

import com.isdepci.framework.aspectj.lang.annotation.Excel;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.isdepci.framework.web.domain.BaseEntity;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

/**
 * CCER减排交易数据对象 ccer_data_list
 *
 * @author isdepci
 * @date 2025-05-28
 */
public class CcerDataList extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 项目编号 */
    @Excel(name = "项目编号")
    private String projectCode;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 所属省份 */
    @Excel(name = "所属省份")
    private String province;

    /** 项目地理位置 */
    @Excel(name = "项目地理位置")
    private String projectLocation;

    /** 方法学 */
    @Excel(name = "方法学")
    private String methodology;

    /** 计入期开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计入期开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 计入期结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计入期结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastTime;

    /** 预计年均减排量(t) */
    @Excel(name = "预计年均减排量(t)")
    private BigDecimal yearAvgEmission;

    /** 预计计入期总减排量(t) */
    @Excel(name = "预计计入期总减排量(t)")
    private BigDecimal totalEmission;

    /** 申请登记减排量(t) */
    @Excel(name = "申请登记减排量(t)")
    private BigDecimal registerEmission;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setProjectCode(String projectCode)
    {
        this.projectCode = projectCode;
    }

    public String getProjectCode()
    {
        return projectCode;
    }
    public void setProjectName(String projectName)
    {
        this.projectName = projectName;
    }

    public String getProjectName()
    {
        return projectName;
    }
    public void setProvince(String province)
    {
        this.province = province;
    }

    public String getProvince()
    {
        return province;
    }
    public void setMethodology(String methodology)
    {
        this.methodology = methodology;
    }

    public String getMethodology()
    {
        return methodology;
    }
    public void setStartTime(Date startTime)
    {
        this.startTime = startTime;
    }

    public Date getStartTime()
    {
        return startTime;
    }

    public String getProjectLocation() {
        return projectLocation;
    }

    public void setProjectLocation(String projectLocation) {
        this.projectLocation = projectLocation;
    }

    public Date getLastTime() {
        return lastTime;
    }

    public void setLastTime(Date lastTime) {
        this.lastTime = lastTime;
    }

    public void setYearAvgEmission(BigDecimal yearAvgEmission)
    {
        this.yearAvgEmission = yearAvgEmission;
    }

    public BigDecimal getYearAvgEmission()
    {
        return yearAvgEmission;
    }
    public void setTotalEmission(BigDecimal totalEmission)
    {
        this.totalEmission = totalEmission;
    }

    public BigDecimal getTotalEmission()
    {
        return totalEmission;
    }
    public void setRegisterEmission(BigDecimal registerEmission)
    {
        this.registerEmission = registerEmission;
    }

    public BigDecimal getRegisterEmission()
    {
        return registerEmission;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectCode", getProjectCode())
            .append("projectName", getProjectName())
            .append("province", getProvince())
            .append("methodology", getMethodology())
            .append("startTime", getStartTime())
            .append("lastTime", getLastTime())
            .append("yearAvgEmission", getYearAvgEmission())
            .append("totalEmission", getTotalEmission())
            .append("registerEmission", getRegisterEmission())
            .toString();
    }
}
